/************************************************************
*文件类型: java脚本程序
*文件说明: 用来进行上下排序
*作    者: 和大伟
* E-mail : Rivalhw@hotmail.com
*日    期: 2003、07、25
*其    他: 您可以自由传播本程序，但须注名作者名称及相关信息。
*************************************************************/

function moveOptionUp(obj)
     {
     for(i=0;i<obj.options.length;i++)
        {if(obj.options[i].selected)
          {if(i != 0 && !obj.options[i-1].selected)
            {
             swapOptions(obj,i,i-1);
             obj.options[i-1].selected = true;             
            }
          }         
        }
     }

function moveOptionDown(obj)
    {
    	 for(i=obj.options.length-1;i>=0;i--)
    	     {
    	      if(obj.options[i].selected)
    	         {
    	           if(i !=(obj.options.length-1) && ! obj.options[i+1].selected)
    	             {
    	             	swapOptions(obj,i,i+1);
    	             	obj.options[i+1].selected = true;
    	             }
    	          }
    	       }
    }

function moveOptionFirst(obj)
     {
     for(i=0;i<obj.options.length;i++)
        {if(obj.options[i].selected)
          {if(i != 0 && !obj.options[i-1].selected)
            {
             for(;;)
                {                 
                 swapOptions(obj,i,i-1);
                 i--;
                 if(i==0)
                 break;
                }
            }
          }
        }
     }
     
function moveOptionLast(obj)
     {
      for(i=0;i<obj.options.length;i++)
        {if(obj.options[i].selected)
          {
           if(i != obj.options.length-1 && !obj.options[i+1].selected)
            {
             for(;;)  
                {                 
                 swapOptions(obj,i,i+1);
                 i++;
                 if(i==obj.options.length-1)
                 break;
                }
            }
          }
        }
     }        
function swapOptions(obj,i,j)
         {
           var o = obj.options;
           var i_selected = o[i].selected;
           var j_selected = o[j].selected;
           var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
           var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);
           o[i] = temp2;
           o[j] = temp;
           o[i].selected = j_selected;
           o[j].selected = i_selected;
         }
	
/**选中记录跳转排序位置**/
function moveOptionChange(obj,j)
     {
	  if(j>obj.options.length){
		  moveOptionLast(obj);
		  }
	  else if(j<0){
		  moveOptionFirst(obj);
		  }else {
	  
      for(i=0;i<obj.options.length;i++)
        {if(obj.options[i].selected)
          {
			  
			  /**找到选中记录的序号，进行判断**/
			  if(i != j)
         	   {
				   /**如果选中序号大于排序号,则向上移动**/
				  	if(i > j){
						for(;;)
           	   			  {                 
              				   swapOptions(obj,i,i-1);
              				   i--;
              				   if(i==j)
              				   break;
              			  }		
					}else{
					/**如果选中序号小于排序号,则向下移动**/
						for(;;)
           	   			  {                 
              				   swapOptions(obj,i,i+1);
              				   i++;
              				   if(i==j)
              				   break;
              			  }			   
					}
				   

				}
			
			
			
          }
        }
		
		}
     }

function moveOptionUpSideDown(obj)
{
	for(i=0;i<obj.options.length;i++)
	{
		if(i!=0)
		{
			obj.options[i].selected = 'selected';
		}
	}
	moveOptionFirst(obj);
	for(i=0;i<obj.options.length;i++)
	{
		obj.options[i].selected = '';
	}
	
}